import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class MyTest {
    public static void main(String[] args) throws IOException {
        File begin = new File("Client");    //要复制的文件夹
        File end = new File("Server");      //复制到的文件夹
        getDir(begin,end);
    }
    //begin 是父级目录，end是子级目录
    private static void getDir(File begin,File end) throws IOException {
        if(begin.isDirectory()){//判断是否是文件
            if(!end.exists()){//判断目标文件夹是否存在
                end.mkdir();//不存在就创建
            }
            File[] fileArrays = begin.listFiles();  //把Begin文件夹内的文件放入File数组
            for(File i:fileArrays){ //循环
                File newEnd=new File(end,i.getName());
                getDir(i,newEnd);//
            }
        }else{//是文件
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(begin));
            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(end));
            byte[] byt = new byte[1024];
            int line;
            while((line=bis.read())!=-1){
                bos.write(byt,0,line);
            }
        }
    }
}
